package controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

@Controller
public class Controller3 {
    /* RestFul
    简洁：风格简洁  高效：支持缓存 安全：隐藏了参数名称
    */
    // 原来的 ： localhost:8080/add?a=1&b=2
    // RestFul ： localhost:8080/add/a/b
    @RequestMapping("/add/{a}/{b}")
    public String c3(@PathVariable int a, @PathVariable int b, Model model){
        int  res = a + b;
        model.addAttribute("msg",res);
        return "test";
    }

    // 限制了请求类型，必须以PUT方式才能请求到
    @RequestMapping(name = "/add2/{a}/{b}", method= RequestMethod.PUT)
    // 或者添加衍生注解 : @PutMapping("/add2/{a}/{b}")
    public String c4(@PathVariable int a, @PathVariable int b, Model model){
        int  res = a + b;
        model.addAttribute("msg",res);
        return "test";
    }

    // 利用衍生注解
    @DeleteMapping("/add3/{a}/{b}")
    public String c5(@PathVariable int a, @PathVariable int b, Model model){
        int  res = a + b;
        model.addAttribute("msg",res);
        return "test";
    }
}
